/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package cz.cuni.mff.d3s.arcas.intermediate.impl;

import cz.cuni.mff.d3s.arcas.intermediate.ElementArchitectureSignaturePropagation;
import cz.cuni.mff.d3s.arcas.intermediate.IntermediatePackage;
import cz.cuni.mff.d3s.arcas.intermediate.NameValuesPair;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.internal.cdo.CDOObjectImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Element Architecture Signature Propagation</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link cz.cuni.mff.d3s.arcas.intermediate.impl.ElementArchitectureSignaturePropagationImpl#getPortName <em>Port Name</em>}</li>
 *   <li>{@link cz.cuni.mff.d3s.arcas.intermediate.impl.ElementArchitectureSignaturePropagationImpl#getDestPortName <em>Dest Port Name</em>}</li>
 *   <li>{@link cz.cuni.mff.d3s.arcas.intermediate.impl.ElementArchitectureSignaturePropagationImpl#getDestSignature <em>Dest Signature</em>}</li>
 *   <li>{@link cz.cuni.mff.d3s.arcas.intermediate.impl.ElementArchitectureSignaturePropagationImpl#getDestSignatureAttributes <em>Dest Signature Attributes</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class ElementArchitectureSignaturePropagationImpl extends CDOObjectImpl implements ElementArchitectureSignaturePropagation {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ElementArchitectureSignaturePropagationImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected int eStaticFeatureCount() {
		return 0;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getPortName() {
		return (String)eGet(IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION__PORT_NAME, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPortName(String newPortName) {
		eSet(IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION__PORT_NAME, newPortName);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getDestPortName() {
		return (String)eGet(IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION__DEST_PORT_NAME, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setDestPortName(String newDestPortName) {
		eSet(IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION__DEST_PORT_NAME, newDestPortName);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getDestSignature() {
		return (String)eGet(IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION__DEST_SIGNATURE, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setDestSignature(String newDestSignature) {
		eSet(IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION__DEST_SIGNATURE, newDestSignature);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@SuppressWarnings("unchecked")
	public EList<NameValuesPair> getDestSignatureAttributes() {
		return (EList<NameValuesPair>)eGet(IntermediatePackage.Literals.ELEMENT_ARCHITECTURE_SIGNATURE_PROPAGATION__DEST_SIGNATURE_ATTRIBUTES, true);
	}

} //ElementArchitectureSignaturePropagationImpl
